package com.example.demo.service;

import com.example.demo.entity.Music;
import com.example.demo.entity.NoteCreate;
import com.example.demo.vo.ViewNoteCommentInfo;
import com.example.demo.vo.ViewNoteCreateInfo;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface NoteCreateService {

    //根据笔记状态查询数据
    PageInfo<ViewNoteCreateInfo> findNoteCreateInfostatus(Integer pageNum, Integer pageSize,String note_status);


    //pageNum:当前是第几页   pageSize：每一页有多少条数据
    PageInfo<NoteCreate> findNoteCreatePages(Integer pageNum, Integer pageSize);

    List<NoteCreate> findNoteCreateAll();
    // 按热度降序查找歌曲
    List<NoteCreate> findNoteCreateByview_count();

    NoteCreate findNoteCreateDyId(Integer note_create_id);

    //笔记表和用户表关联：获取用户名以及用户头像
    PageInfo<ViewNoteCreateInfo> findNoteCreateInfouser();

    //笔记信息与用户信息相关联（不分页）,获取用户所有信息
    PageInfo<ViewNoteCreateInfo> findNoteCreateUserId(Integer user_id);


    ViewNoteCreateInfo findNoteCreateinfoDyId(Integer note_create_id);

    //根据用户id和笔记状态查找
    PageInfo<ViewNoteCreateInfo> findNoteCreateInfo( String note_status, Integer user_id);

    //根据笔记状态和用户ID计数
    Integer countPublishedNotesByStatus( String note_status, Integer user_id);

    //审核通过
    Integer updateNoteStatusyes(NoteCreate noteCreate);

    //审核未通过
    Integer updateNoteStatusno(NoteCreate noteCreate);

    //待审核
    Integer updateNoteStatusReview(NoteCreate noteCreate);

    Integer updateNoteStatus(Integer note_create_id, String note_status);

    Integer insertNoteCreate(NoteCreate noteCreate);

    //修改点赞量等
    Integer updateNoteCreate(NoteCreate noteCreate);

    //修改笔记内容
    Integer updateNoteCreate1(NoteCreate noteCreate);

    Integer deleteNoteCreate(Integer note_create_id);

    //点击量
    Integer incrementViewCount(Integer note_create_id);
}
